<template>
  <span :class="`${prefixCls}__extra-redo`" @click="handleRedo">
    <RedoOutlined :spin="loading" />
  </span>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
import { RedoOutlined } from '@ant-design/icons-vue';
import { useDesign } from '@/hooks/web/useDesign';
import { useTabs } from '@/hooks/web/useTabs';

export default defineComponent({
  name: 'TabRedo',
  components: { RedoOutlined },

  setup() {
    const loading = ref(false);

    const { prefixCls } = useDesign('multiple-tabs-content');
    const { refreshPage } = useTabs();

    async function handleRedo() {
      loading.value = true;
      await refreshPage();
      setTimeout(() => {
        loading.value = false;
        // Animation execution time
      }, 1200);
    }
    return { prefixCls, handleRedo, loading };
  },
});
</script>
